#ifndef MYMENU_H
#define MYMENU_H

#include "MyDefinitions.h"

class MyButton;
class MyEngine;

/*!
 *  \class MyMenu 
 *  \brief First screen the player sees after starting the application
 *  \author Peter Kosa
 *  \version 1.52
 *  \date    2006-2008
 */
class MyMenu{
	public:
		//constr
		MyMenu(MyEngine* _parent);
		//destr
		~MyMenu();
		
		/*! initialize menu */
		void init_menu();
		/*! set button clips -> correct sprites will be cut from the surface*/
		void set_clips();
		/*! load images from disk */
		void load_imgs();
		/*! frees memory used by this class*/
		void clean_menu();
		/*! display menu on the screen of <class>MyEngine</class> */
		void display_menu();
		/*! displays button with id*/
		void display_button(int id);
		void process_event(SDL_Event& event);
		SDL_Surface *buttonSheet;
		SDL_Surface* menuSheet;
		SDL_Rect clips[7]; //clips for clipping the button picture
		
		//list of buttons shots
		std::list<MyButton> buttons;
		MyEngine* parent;
	private:
		//safety init flag
		bool notYetInited;
};

#endif
